Netcrook Logo
👤 KERNELWATCHER
🗓️ 29 Jan 2026  

الفخ الخفي في PyTorch: كيف يمكن لملف نموذج واحد أن يُسقط منظومة الذكاء الاصطناعي لديك

العنوان الفرعي: ثغرة حرجة في تحميل نقاط التحقق في PyTorch تعرّض أنظمة تعلّم الآلة لتنفيذ تعليمات برمجية عن بُعد والسيطرة الكاملة على النظام.

تخيّل وعد الذكاء الاصطناعي - أبحاث مُعزَّزة، وسير عمل أكثر انسيابية، وأتمتة على نطاق واسع. والآن تخيّل أن يتحطّم هذا الوعد بسبب ملف واحد مسموم. هذا ليس سيناريو افتراضيًا، بل تهديد حقيقي يواجه أي مؤسسة تستخدم إطار الذكاء الاصطناعي الشهير PyTorch. تكشف الاكتشافات الأخيرة عن ثغرة بالغة الخطورة قد تُمكّن المهاجمين من الاستيلاء على بيئات ذكاء اصطناعي كاملة باستخدام ملف نموذج مُصمَّم بذكاء لا أكثر.

تختبئ الثغرة في مُفكّ التسلسل (unpickler) الخاص بنقاط التحقق “weights_only” في PyTorch - وهي آلية صُممت لتحميل نماذج الشبكات العصبية بأمان عبر تقييد العمليات الخطرة. لكن كما كشف الباحثون مؤخرًا، كانت شبكة الأمان هذه مليئة بالثغرات. يستطيع المهاجمون إنشاء ملفات نقاط تحقق مفخخة بحيث تتجاوز، عند تحميلها باستخدام torch.load(weights_only=True)، عمليات التحقق الأساسية. والنتيجة؟ تنفيذ تعليمات برمجية عشوائية على جهاز الضحية، وبنفس امتيازات المستخدم الذي يشغّل PyTorch.

تقنيًا، يعتمد الاستغلال على كيفية تعامل PyTorch مع ملفات “pickle”: تمثيلات مُسلسلة لبيانات النموذج. فقد أخفق مُفكّ التسلسل المعرّض للثغرة في توفير حماية مناسبة ضد بعض تعليمات pickle - وتحديدًا SETITEM وSETITEMS - التي يمكن للمهاجمين التلاعب بها لإفساد الذاكرة. وبشكل أكثر خبثًا، يمكن للمهاجمين عدم مطابقة أحجام التخزين المُعلنة في بيانات الأرشيف الوصفية، ما يتيح عمليات كتابة في الذاكرة تتجاوز الحدود المقصودة بكثير. معًا، تفتح هذه العيوب الباب أمام الكتابة فوق ذاكرة النظام الحساسة، ممهدة الطريق لتنفيذ تعليمات برمجية عن بُعد بشكل كامل.

وعلى عكس كثير من الاستغلالات التي تتطلب مهارة تقنية عميقة أو وصولًا ذا امتيازات، فإن هذا الاستغلال سهل التفعيل بشكل مقلق. كل ما يلزم هو أن يقوم مستخدم - ربما عالم بيانات أو مهندس - بتحميل ملف نموذج ملوّث. وبالنظر إلى الطبيعة التعاونية والسريعة لتعلّم الآلة، غالبًا ما تتداول ملفات النماذج عبر مستودعات مشتركة، ورسائل البريد الإلكتروني، والتخزين السحابي. يمكن لنقطة تحقق واحدة مخترقة أن تُصيب ليس جهازًا واحدًا فحسب، بل أن تنتشر عبر خط أنابيب بحثي أو إنتاجي كامل.

تحرّك القائمون على صيانة PyTorch بسرعة، فأصلحوا الثغرة في الإصدار 2.10.0 عبر فرض تحقق صارم من عمليات pickle وبيانات التخزين الوصفية. لكن الخطر يظل قائمًا لدى أي مؤسسة متأخرة في التحديثات. وحتى تُرقّع جميع عمليات النشر، يحذّر الخبراء من أن على الفرق التدقيق في مصدر وسلامة كل ملف نموذج - خصوصًا تلك القادمة من مستودعات عامة أو تابعة لجهات خارجية. كما توفر دفاعات إضافية، مثل ضوابط على مستوى الشبكة ومراقبة سلامة الملفات، حماية أكبر ضد هذا المسار الهجومي المتخفي.

الدرس صارخ: في اندفاع الذهب الخاص بالذكاء الاصطناعي، حتى أكثر الأدوات موثوقية قد تُخفي أخطارًا غير مرئية. ومع تزايد استهداف الخصوم لسلسلة توريد البرمجيات، فإن اليقظة والترقيع السريع ليسا خيارًا - بل ضرورة للبقاء في مشهد تعلّم الآلة اليوم.

WIKICROOK

  • تنفيذ تعليمات برمجية عن بُعد (RCE): تنفيذ التعليمات البرمجية عن بُعد (RCE) هو عندما يشغّل المهاجم شفرته الخاصة على نظام الضحية، وغالبًا ما يؤدي ذلك إلى السيطرة الكاملة على ذلك النظام أو اختراقه.
  • Pickle: Pickle هي وحدة في بايثون لتسلسل الكائنات، لكنها تنطوي على مخاطر أمنية عند تحميل بيانات من مصادر غير موثوقة بسبب احتمال تنفيذ تعليمات برمجية.
  • ملف نقطة التحقق: يخزّن ملف نقطة التحقق حالة النموذج، ما يسمح باستئناف التدريب أو نشر النماذج. وهو بالغ الأهمية للتعافي واستمرارية البيانات.
  • Unpickler: يقرأ الـ unpickler كائنات بايثون ويعيد بناءها من ملفات أو تدفقات pickle، ما يتيح استمرارية الكائنات وتبادل البيانات، لكنه يطرح مخاطر أمنية إذا أسيء استخدامه.
  • تلف الذاكرة: تلف الذاكرة هو خطأ برمجي يؤدي فيه التعامل غير السليم مع البيانات إلى تمكين المهاجمين من استغلال الثغرات، وقد يصل الأمر إلى السيطرة على برنامج أو جهاز.
PyTorch Remote Code Execution Vulnerability

KERNELWATCHER KERNELWATCHER
Linux Kernel Security Analyst
← Back to news